The present invention relates to an information-processing apparatus, an information-processing method, an information-processing system, a recording medium and a program. More particularly, the present invention relates to an information-processing apparatus, an information-processing method, an information-processing system, a recording medium and a program that make mutual authentication among electronic apparatuses easy to carry out.
A short-distance wireless communication technology using Bluetooth for implementing communication among electronic apparatuses has been becoming more popular.
Bluetooth is a wireless communication technology using a 2.45 GHz-frequency band. Distances covered by Bluetooth are up to about 10 m. As a similar communication method, infrared-ray communication exists. However, Bluetooth can be used to communicate through an obstruction since it is wireless communication. From this point of view, Bluetooth offers a merit that the infrared-ray communication does not have.
Examples of the Bluetooth wireless communication are shown in FIGS. 1A through 1D. The Bluetooth wireless communication allows information to be exchanged between a PC (Personal Computer) 1 and a cam-coder 2 as shown in FIG. 1A, between a portable phone 3 and a handy cam-coder 4 as shown in FIG. 1B, between the cam-coder 2 and a portable information communication terminal 5 as shown in FIG. 1C and between a portable personal computer 6 and the portable information communication terminal 5 as shown in FIG. 1D.
Through the Bluetooth wireless connection requiring specially no wires, it is possible to transfer data from the portable information communication terminal 5 to the portable personal computer 6 located at a different room. It is also possible to connect the portable phone 3 placed in a pocket of a user's clothes to the handy cam-coder 4 and transmit an image recorded in the handy cam-coder 4 to another electronic apparatus by way of the Internet.
In order to avoid communication malfunctions, incorrect connections or data leakages in data transfers during communications between such electronic apparatuses, each of the apparatuses carries out mutual authentication processing in a first communication. At that time, the user enters a password such as a string of alphanumeric characters to each of the electronic apparatuses if necessary to let the apparatus carry out authentication processing.
By referring to a flowchart shown in FIG. 2, the following description explains authentication processing carried out initially in a communication shown in FIG. 1A between the personal computer 1 and the cam-coder 2.
As shown in FIG. 2, the flowchart begins with a step S1 at which the personal computer 1 determines whether or not a password for identifying a user has been entered by an input unit such as a keyboard. The personal computer 1 is also referred to hereafter as the PC 1. In Bluetooth specifications, a password for identifying a user is called a PIN (Personal Identification Number). If a password for identifying a user has not been entered, the determination is made repeatedly till such a password is entered. If a password for identifying a user is judged entered, the flow of the processing goes on to a step S2.
By the same token, the cam-coder 2 carries out similar processing at a step S21.
At the next step S2, the PC 1 generates a random number R0 and transmits it to the cam-coder 2. Subsequently, at the next step S3, the PC 1 computes a common key E22 (R0, PIN, BDADDR-Cam) from the random number R0, the PIN and a BDADDR-Cam (Blue-tooth Device Address for Cam-coder) by using a predetermined function E22. The BDADDR-Cam is a unique number assigned to the cam-coder 2 for identifying the cam-coder 2. The BDADDR-Cam is selected as a number for identifying an electronic apparatus specified by the user as an apparatus to be connected to the PC 1. In this case, the electronic apparatus is the cam-coder 2.
At a step S22, the cam-coder 2 computes a common key CK (=E22 (R0, PIN, BDADDR-Cam)) from the random number R0, the PIN and the BDADDR-Cam by applying the same function E22 used by the PC 1 at the step S3. The cam-coder 2 then transmits the common key CK to the PC 1 as a response to the PC 1.
At a step S4, the PC 1 generates a random number R1 for authentication and transmits it to the cam-coder 2. Then, at the next step S5, the PC 1 computes a password A (=E1(R1, CK, BDADDR-Cam)) from the random number R1, the common key CK and the BDADDR-Cam by using a function E1.
At that time, at a step S23, the cam-coder 2 computes a password A′ (=E1 (R1, CK, BDADDR-Cam)) from the random number R1 transmitted from the PC 1, the common key and the BDADDR-Cam by applying the same function E1 used by the PC 1 at the step S4. The cam-coder 2 then transmits the password A′ to the PC 1.
At a step S6, the PC 1 determines whether or not the password A computed by itself matches the password A′ received from the cam-coder 2. If the result of the determination indicates that the password A matches the password A′, the flow of the processing goes on to a step S7 at which the PC 1 notifies the cam-coder 2 that the passwords match each other.
At a step S24, the cam-coder 2 receives a notice from the PC 1. At the next step S25, the cam-coder 2 examines the notice to determine whether or not the notice indicates that the password A matches the password A′. As described above, at the step S7, the PC 1 notified the cam-coder 2 that the passwords match each other. In this case, the flow of the processing goes on to a step S26 at which the cam-coder 2 generates a random number R2 for authentication and transmits the random number R2 to the PC 1. Then, at the next step S27, the cam-coder 2 computes a password B (=E1 (R2, CK, BDADDR-PC)) from the random number R2, the common key CK and a BDADDR-PC.
At a step S8, on the other hand, the PC 1 computes a password B′ (=E1(R2, CK, BDADDR-PC)) from the random number R2 transmitted from the cam-coder 2, the common key CK and a BDADDR-PC by using the function E1 Then, the PC 1 transmits the password B′ to the cam-coder 2.
At a step S28, the cam-coder 2 determines whether or not the password B matches the password B′. If the outcome of the determination indicates that the password B matches the password B′, the flow of the processing goes on to a step S29 at which a positive result of authentication is recognized and, at the same time, the PC 1 is notified that the password B matches the password B′. At a step S9, the PC 1 receives the notice, recognizing the positive result of authentication verifying that the password B matches the password B′.
If the outcome of the determination made at the step S6 indicates that the password A does not match the password A′, on the other hand, the flow of the processing goes on to a step S10 at which the PC 1 notifies the cam-coder 2 that the password A does not match the password A′ and then ends the processing.
In this case, at the step S24, the cam-coder 2 receives the notice indicating that the password A does not match the password A′. Thus, the outcome of the determination made at the next step S25 indicates that the password A does not match the password A′. In this case, the cam-coder 2 ends the processing.
If the outcome of the determination made at the step S28 indicates that the password B does not match the password B′, on the other hand, the flow of the processing goes on to a step S30 at which the cam-coder 2 determines that the result of authentication was negative. In this case, the cam-coder 2 notifies the PC 1 that the password B does not match the password B′.
Then, at the second and subsequent connections, the electronic apparatuses which are to be communicated with each other carry out automatic authentication by using the passwords A and B stored during the first authentication processing as well as the common key CK generated at the first connection so that the processing carried out by the users to enter passwords can be eliminated.
In the configuration described above, however, there occurs only a slight problem when the PC 1 is connected to a fixed communication partner such as the cam-coder 2 or a wireless access point in a LAN (Local Area Network). In a case where the communication partner is changed, on the other hand, there is raised a problem that it is necessary to enter a password each time the PC 1 is connected with another electronic apparatus serving as a new communication partner. As a result, the processing becomes cumbersome. An example of the case where the communication partner is changed is a case in which application software or the like executed on the PC 1 temporarily exchanges information such as picture data with another electronic apparatus and, with a next timing, must change the communication partner.